package com.regulareport.form.service;

import com.regulareport.common.core.domain.entity.SysUser;
import com.regulareport.form.domain.ReportVerificationConfig;

import java.util.List;

/**
 * 校验配置Service接口
 * 
 * @author
 * @date 2025-10-08
 */
public interface IReportVerificationConfigService 
{
    /**
     * 查询校验配置
     * 
     * @param pkId 校验配置主键
     * @return 校验配置
     */
    public ReportVerificationConfig selectReportVerificationConfigByPkId(Long pkId);

    /**
     * 查询校验配置列表
     * 
     * @param reportVerificationConfig 校验配置
     * @return 校验配置集合
     */
    public List<ReportVerificationConfig> selectReportVerificationConfigList(ReportVerificationConfig reportVerificationConfig);

    /**
     * 新增校验配置
     * 
     * @param reportVerificationConfig 校验配置
     * @return 结果
     */
    public int insertReportVerificationConfig(ReportVerificationConfig reportVerificationConfig);

    /**
     * 修改校验配置
     * 
     * @param reportVerificationConfig 校验配置
     * @return 结果
     */
    public int updateReportVerificationConfig(ReportVerificationConfig reportVerificationConfig);

    /**
     * 批量删除校验配置
     * 
     * @param pkIds 需要删除的校验配置主键集合
     * @return 结果
     */
    public int deleteReportVerificationConfigByPkIds(Long[] pkIds);

    /**
     * 删除校验配置信息
     * 
     * @param pkId 校验配置主键
     * @return 结果
     */
    public int deleteReportVerificationConfigByPkId(Long pkId);

    /**
     * 导入校验配置数据
     *
     * @param verificationConfigList 校验配置数据列表
     * @param isUpdateSupport 是否更新支持，如果已存在，则进行更新数据
     * @param operName 操作用户
     * @return 结果
     */
    public String importVerificationConfig(List<ReportVerificationConfig> verificationConfigList, Boolean isUpdateSupport, String operName);


    /**
     * 校验报表公式信息
     *
     * @param verificationConfig 被校验的报表ID
     * @return 校验结果
     */
    public String verifyFigures(String verificationConfig);


}
